

# get git hash
macro(get_git_hash _git_hash)  
    find_package(Git REQUIRED)    
    if(GIT_FOUND)
      execute_process(          
        COMMAND ${GIT_EXECUTABLE} log -1 --pretty=format:%h 
        OUTPUT_VARIABLE ${_git_hash}       
        OUTPUT_STRIP_TRAILING_WHITESPACE   
        ERROR_QUIET                       
        WORKING_DIRECTORY                  
          ${CMAKE_CURRENT_SOURCE_DIR}
        )
    endif()
endmacro()  

# get git branch
macro(get_git_branch _git_branch)  
    find_package(Git REQUIRED)    
    if(GIT_FOUND)
      execute_process(         
        COMMAND ${GIT_EXECUTABLE} symbolic-ref --short -q HEAD
        OUTPUT_VARIABLE ${_git_branch}       
        OUTPUT_STRIP_TRAILING_WHITESPACE   
        ERROR_QUIET                       
        WORKING_DIRECTORY                  
          ${CMAKE_CURRENT_SOURCE_DIR}
        )
    endif()
endmacro()  